home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 039a / netpq203.zip / F1.C next >
Text File  |  1993-03-02  |  2KB  |  115 lines

  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <dos.h>
  4.  
  5. #include "nos.h"
  6. #include "noslib.h"
  7. #include "netpq.h"
  8. #include "proto.h"
  9.  
  10. extern struct serverdef *server;
  11. extern struct localqueuedef *localqueue;
  12.  
  13. extern int maxlocalqueuecount, localqueuecount;
  14. extern int numberoflogins;
  15.  
  16. extern int numberofprinterstrings;
  17. extern char *printerstring;
  18.  
  19.  
  20. int f1keypressed ()
  21.     {
  22.     //    handles response for f1 key (control ports)
  23.  
  24.     int f1menuitems = 6;
  25.     char *f1menu [] =
  26.     {
  27.     "Enable",
  28.     "Disable now",
  29.     "Disable at EOJ",
  30.     "Pause now",
  31.     "Enable Single",
  32.     "Restart"
  33.     };
  34.  
  35.     int f1xsize = strlen (f1menu [2]);
  36.     int action, servernum, printer;
  37.     int i;
  38.     int ybase;
  39.  
  40.     ybase = wherey () + 1;
  41.     if (ybase + f1menuitems > 24)
  42.     ybase = 24 - f1menuitems;
  43.  
  44.     do
  45.     {
  46.     if ( (action = menu (f1menu, f1menuitems, f1xsize, firstxpos, ybase)) != -1)
  47.         {
  48.         do
  49.         {
  50.         if ( (servernum = displayservernames (ybase)) != -1)
  51.             {
  52.             if (checkqueueprivileges (servernum) != -1)
  53.             {
  54.             do
  55.                 {
  56.                 printer = menu (&printerstring, numberofprinterstrings, 5, thirdxpos, ybase);
  57.  
  58.                 if (printer > -1)
  59.                 {
  60.                 message ("UPDATING, PLEASE WAIT ...", false);
  61.                 if (NOSControlQueue (&printer, action, server [servernum] .servername, -1) == -1)
  62.                     {
  63.                     NOSperror ("NOSControlQueue");
  64.                     exit (1);
  65.                     }
  66.                 return 0;
  67.                 }
  68.                 }while (printer != -1);
  69.             }
  70.             }
  71.         }while (servernum != -1);
  72.         }
  73.     }while (action != -1);
  74.     return -1;
  75.     }
  76.  
  77.  
  78.  
  79.  
  80. int displayservernames (int ybase)
  81.     {
  82.     //    displays a menu of all servernames
  83.  
  84.     int i, selection;
  85.     char *servernames [5];
  86.  
  87.     i = 0;
  88.  
  89.     while (i < numberoflogins)
  90.     servernames [i] = server [i++] .servername;
  91.  
  92.     if (ybase + numberoflogins > 24)
  93.     ybase = 24 - numberoflogins;
  94.  
  95.     selection = menu (servernames, numberoflogins, 17, secondxpos, ybase);
  96.  
  97.     return selection;
  98.     }
  99.  
  100.  
  101.  
  102.  
  103.  
  104. int checkqueueprivileges (int servernum)
  105.     {
  106.     //    checks to see if the user has queue privileges on the server
  107.  
  108.     if (server [servernum] .queue_privilege == false)
  109.     {
  110.     message ("YOU DO NOT HAVE QUEUE PRIVILEGES\a", true);
  111.     return -1;
  112.     }
  113.     return 0;
  114.     }
  115.